<?php
/**
 * Modelo CRUD de solicitação de palavra-chave
 * @author PC4 Team
 */
class PC4_Crud_Newsletter_RequisicaoPalavraChave extends PC4_Crud_Abstrato_Rastreado {
	
	function __construct($tabela = 'palavras_chaves_solicitadas') {
		parent::__construct($tabela);
	}
	
	/**
	 * Valida campos da requisição de palavra-chave
	 * @param $campos
	 * @param $id
	 */
	function valida($campos, $id=0) {
		$erros = array();
		
		if (empty($campos["id_clientes"])) {
			$erros[] = "N&atilde;o foi poss&iacute;vel recuperar as informa&ccedil;&otilde;es da sua sess&atilde;o.";
		}
		if (empty($campos["nome"])) {
			$erros[] = "&Eacute; necess&aacute;rio informar a palavra-chave.";
		}
		if (empty($campos["motivo"])) {
			$erros[] = "&Eacute; necess&aacute;rio informar um motivo.";
		}
		
	  	$resultado = $this->db->query("
			SELECT id FROM palavras_chaves_solicitadas
			WHERE id_clientes = ".$campos['id_clientes']." AND nome = '".$campos['nome']."' AND id <> ".$id
		);
		if($resultado->num_rows() > 0){
			$erros[] = "J&aacute; existe uma solicita&ccedil;&atilde;o para esta palavra-chave.";
		}
		
		return $erros;
	}
	
	/**
	 * 
	 * @param $id_cliente
	 * @param $pagina
	 * @param $registros
	 */
	function listaCliente($id_cliente, $pagina = 1, $registros = 20) {
		$offset = ($pagina - 1) * $registros; 
		$rs = $this->db->get_where($this->tabela, "id_clientes = $id_cliente", $registros, $offset)->result();
		foreach ($rs as $c => $r) {
			$rs[$c] = $this->trataRegistro($r);
		}
		return $rs;
		
	}

	/**
	 * Apaga todas as requisições de um cliente quando este é apagado
	 * @param int $id
	 * @return boolean
	 */
	function apagaPorCliente($id){
		$this->db->delete($this->tabela, array('id_clientes' => $id));
		return true;
	}
}
?>